[アップデート] AWS IoT TwinMaker Scene Viewer の自動クエリ機能が追加されました

[アップデート] AWS IoT TwinMaker Scene Viewer の自動クエリ機能が追加されました

Clock Icon2023.12.29

こんにちは、CX 事業本部 Delivery 部の若槻です。

先日の AWS IoT TwinMaker のアップデートで、AWS IoT TwinMaker Scene Viewer の自動クエリ機能が追加されました。

https://aws.amazon.com/about-aws/whats-new/2023/12/aws-iot-twinmaker-auto-query-feature/

AWS IoT TwinMaker Scene Viewer とは、GrafanaIoT Application Kit で作成したダッシュボードに埋め込んで 3D シーンによる視覚化を可能とする AWS IoT TwinMaker の機能です。そしてこの Scene Viewer では 3D シーン内のオブジェクトに対して、ダッシュボード上の他のグラフやテーブルなどのパネルと共通で使用している変数をバインドすることができます。

https://github.com/grafana/grafana-iot-twinmaker-app/tree/main/src/panels/scene-viewer

以前までは、この 3D シーン内のオブジェクトをバインドするためのクエリを手動で構成する必要がありましたが、今回のアップデートにより自動で構成可能になりました。

アップデート概要

Grafana で AWS IoT TwinMaker Scene Viewer を使用する場合に利用する AWS IoT TwinMaker App
では、v1.9.3 で自動クエリ機能が追加されていました。

https://github.com/grafana/grafana-iot-twinmaker-app/releases/tag/v1.9.3

  • Upgrade IotAppKit dependency from 9.2.0 to 9.6.0
    • Support Auto Query and Tag Occlusion in Scene Viewer panel

AWS IoT TwinMaker App では IoT Application Kit が依存関係として使用されており、IoT Application Kit で自動クエリ機能が追加されたことに伴い、AWS IoT TwinMaker App でも自動クエリ機能が利用可能になりました。

参考までに IoT Application Kit で自動クエリ機能が追加されたのは以下の Pull Request です。

https://github.com/awslabs/iot-app-kit/pull/2274

環境

下記の「AWS IoT TwinMaker Getting Started」で作成したクッキー工場のデモ環境を使用して確認してみます。

https://github.com/aws-samples/aws-iot-twinmaker-samples

Grafana は Amazon Managed Grafana で構成し、バージョンは次のようになります。

  • Grafana Version:9.4
  • AWS IoT TwinMaker App Version:1.10.1

自動クエリを使わない場合

まずは自動クエリを使わない場合を確認してみましょう。

まず前提として、Grafana では下記のダッシュボードで赤枠で囲っているように複数の「パネル」を組み合わせて構成します。パネルはテーブルやグラフ、そして Scene Viewer などの表示形式を持ちます。

このダッシュボードではクッキー工場のワークスペースを AWS IoT TwinMaker のデータソースとして取得しています。これにより Entity となる各ミキサーが Alarm を持ち、そしてそれぞれの Alarm の状態は AlarmComponent から取得され、それぞれのパネルで表示されるデータや 3D シーンとして表示されます。

各パネルについて見てみます。

「Table」Visualization を使用した Alarm List パネルでは、AWS IoT TwinMaker をデータソースとして、Get Alarms クエリタイプを使用してワークスペースから Alarm の一覧を取得しています。

一方で「State timeline」Visualization を使用した Selected Alarm History パネルでは、同じく AWS IoT TwinMaker をデータソースとして、選択中の Entity と ComponentType を元に Get Property Value History by Entity クエリタイプを使用して、選択中の Alarm の状態を取得しています。

そして本題の Scene Viewer では、自動クエリが無効の場合は、次のように手動でクエリを構成する必要があります。ここでは Get Property Value History by Component Type クエリタイプで ComponentType からアラームの状態を取得し、また Get Property Value History by Entity でミキサーおよびウォータータンク(画面外)のプロパティ値(温度、フロー)を取得しています。これが自動クエリを使わない場合のクエリ構成です。

自動クエリを使う場合

次に自動クエリを有効化して使う場合です。

下記のように、Scene Viewer で自動クエリを有効化した場合は、手動でのクエリ設定は不要です。

動作確認の様子です。自動クエリを設定した Scene Viewer と Alarm List パネルのそれぞれで、選択されている Alarm が同期していることが確認できます。

https://www.youtube.com/watch?v=Bx6jZETblW8

おわりに

AWS IoT TwinMaker のアップデートで、AWS IoT TwinMaker Scene Viewer の自動クエリ機能が追加されたのでご紹介しました。

クエリを手動で構成することなく、3D シーン内のオブジェクトに対して変数を簡単にバインド可能になりました。複雑なクエリを構成しないのであればこの自動クエリを有効化すれば十分そうなので、ダッシュボード構築の効率化の際に重宝しそうです。

参考

https://github.com/grafana/grafana-iot-twinmaker-app/blob/main/src/panels/scene-viewer/README.md

https://dev.classmethod.jp/articles/aws-iot-twinmaker-getting-started/

以上

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.